Only cancel if the menu was active. (#314298, Christian Persch, analysis
authorMatthias Clasen <mclasen@redhat.com>
Mon, 29 Aug 2005 14:53:45 +0000 (14:53 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Mon, 29 Aug 2005 14:53:45 +0000 (14:53 +0000)
2005-08-29  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkmenu.c (gtk_menu_grab_notify): Only cancel if the menu
was active.  (#314298, Christian Persch, analysis by Mark McLoughlin)

ChangeLog
ChangeLog.pre-2-10
gtk/gtkmenu.c

index dfa0830df55cff2fecd886c71f9dba3a59935111..891cdcdd419d7f53dc09f9cafbb8d394af42bf01 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-08-29  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtkmenu.c (gtk_menu_grab_notify):  Only cancel if the menu
+       was active.  (#314298, Christian Persch, analysis by Mark McLoughlin)
+
 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): Remove an
index dfa0830df55cff2fecd886c71f9dba3a59935111..891cdcdd419d7f53dc09f9cafbb8d394af42bf01 100644 (file)
@@ -1,3 +1,8 @@
+2005-08-29  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtkmenu.c (gtk_menu_grab_notify):  Only cancel if the menu
+       was active.  (#314298, Christian Persch, analysis by Mark McLoughlin)
+
 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): Remove an
index de23fe7f66d51c04e2917b1875d76abbcd08416c..5896e871fd13b887ed25bfaf29e1d07996c609c7 100644 (file)
@@ -4419,7 +4419,7 @@ gtk_menu_grab_notify (GtkWidget *widget,
 
   if (!was_grabbed)
     {
-      if (!GTK_IS_MENU_SHELL (grab))
+      if (GTK_MENU_SHELL (widget)->active && !GTK_IS_MENU_SHELL (grab))
         gtk_menu_shell_cancel (GTK_MENU_SHELL (widget));
     }
 }